using MediatR;
using Notification.API.DTOs;
using Notification.API.DTOs.Notifications;
using Notification.API.Utils;
using Notification.Domain;
using Notification.Errorcode;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;


namespace Notification.API.Application.Controller.Notification
{

    /// <summary>
    /// 添加参数
    /// </summary>
    public class AddNotificationCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 检验主题
        /// </summary>
        public string Qualityinspection { get; set; }

        /// <summary>
        /// 检验单号
        /// </summary>
        public string Inspectionnumber { get; set; }

        /// <summary>
        /// 检验日期
        /// </summary>
        public DateTime Inspectiondate { get; set; }

        /// <summary>
        /// 检验人员
        /// </summary>
        public string Inspectionpeople { get; set; }

        /// <summary>
        /// 所在部门Id
        /// </summary>
        public int Departmentid { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        public string Inspectionphone { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 采购单号
        /// </summary>
        public string Purchasenumber { get; set; }

        /// <summary>
        /// 采购日期
        /// </summary>
        public DateTime Purchasedate { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string Suppliername { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        public string Purchasepeople { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        public string Purchasephone { get; set; }

        /// <summary>
        /// 采购人员
        /// </summary>
        public string Purchasingstaff { get; set; }

        /// <summary>
        /// 采购部门
        /// </summary>
        public string Purchasingdepartment { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        public string Contactinformation { get; set; }

        /// <summary>
        /// 关联项目Id
        /// </summary>
        public int Relatedprojectid { get; set; }

        /// <summary>
        /// 物品概要
        /// </summary>
        public string Productoverview { get; set; }
    }

    /// <summary>
    /// 显示到货检验
    /// </summary>
    public class GetIdNotificationCommand : IRequest<ApiResult<PagingResult<IList<NotificationDTOs>>>>
    {
        /// <summary>
        /// 检验主题
        /// </summary>
        public string? Qualityinspection { get; set; }

        /// <summary>
        /// 检验单号
        /// </summary>
        public string? Inspectionnumber { get; set; }

        /// <summary>
        /// 检验日期
        /// </summary>
        public DateTime? Inspectiondate { get; set; }

        /// <summary>
        /// 检验人员
        /// </summary>
        public string? Inspectionpeople { get; set; }

        /// <summary>
        /// 采购单号
        /// </summary>
        public string? Purchasenumber { get; set; }

        /// <summary>
        /// 当前页
        /// </summary>
        public int pagesize { get; set; }

        /// <summary>
        /// 页容量
        /// </summary>
        public int pageIndex { get; set; }
    }

 
    /// <summary>
    /// 删除参数
    /// </summary>
    public class DelNotificationCommand : IRequest<ApiResult>
    {
        public int Productid { get; set; }
    }

    /// <summary>
    /// 查询参数
    /// </summary>
    public class SelectNotificationCommand:IRequest<ApiResult<NotificationDTOs>>
    {
        public int Productid { get; set; }
    }


    /// <summary>
    /// 更新参数
    /// </summary>
    public class UpdNotificationCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 基础信息Id
        /// </summary>
        public int Productid { get; set; }

        /// <summary>
        /// 检验主题
        /// </summary>
        public string Qualityinspection { get; set; }

        /// <summary>
        /// 检验单号
        /// </summary>
        public string Inspectionnumber { get; set; }

        /// <summary>
        /// 检验日期
        /// </summary>
        public DateTime Inspectiondate { get; set; }

        /// <summary>
        /// 检验人员
        /// </summary>
        public string Inspectionpeople { get; set; }

        /// <summary>
        /// 所在部门Id
        /// </summary>
        public int Departmentid { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        public string Inspectionphone { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 采购单号
        /// </summary>
        public string Purchasenumber { get; set; }

        /// <summary>
        /// 采购日期
        /// </summary>
        public DateTime Purchasedate { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string Suppliername { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        public string Purchasepeople { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        public string Purchasephone { get; set; }

        /// <summary>
        /// 采购人员
        /// </summary>
        public string Purchasingstaff { get; set; }

        /// <summary>
        /// 采购部门
        /// </summary>
        public string Purchasingdepartment { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        public string Contactinformation { get; set; }

        /// <summary>
        /// 关联项目Id
        /// </summary>
        public int Relatedprojectid { get; set; }

        /// <summary>
        /// 物品概要
        /// </summary>
        public string Productoverview { get; set; }
    }

}
